package aiku.numericalcontroloa.project.system.service;


import aiku.numericalcontroloa.project.system.pojo.entity.SysRole;
import aiku.numericalcontroloa.project.system.pojo.query.SysRoleParams;
import com.github.pagehelper.PageInfo;

import java.util.List;

public interface SysRoleService {


    /**
     * 获取角色对应的权限id集合
     *
     * @param rid
     * @return
     */
    List<String> listRolePerms(String rid);

    /**
     * 新增角色
     *
     * @param role
     * @return
     */
    int insert(SysRole role);

    /**
     * 获取角色列表信息
     *
     * @return
     */
    List<SysRole> list();


    int deleteRole(SysRoleParams query);

    int handlePerms(SysRoleParams params);

    SysRole selectByPrimaryKey(Integer id);

    int updateByPrimaryKey(SysRole record);

    /**
     * 根据用户id查找角色
     *
     * @return
     */
    List<SysRole> listByUserId(SysRoleParams query);

    /**
     * 返回分页数据
     *
     * @return
     */
    PageInfo<SysRole> pageList();

    /**
     * 修改角色状态
     *
     * @return
     */
    int updateRoleStatus(SysRole role);

    /**
     * 查找启用的角色
     *
     * @return
     */
    List<SysRole> ListByEnabled();
}
